/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * frmTablaAuxiliarDet.java
 *
 * Created on 19-ago-2011, 20:59:39
 */

package GUI;

import Negocio.Premisa;
import Negocio.Regla;
import TablasAuxiliares.TACamposPremisas;
import TablasAuxiliares.TATiposCamposPremisas;
import TablasAuxiliares.TATiposPremisas;
import Util.GestorErrores;
import javax.swing.JOptionPane;
import Util.Varios;

/**
 *
 * @author Javi
 */
public class frmPremisasDet extends javax.swing.JDialog {

    //Indica la operación que se está realizando
    private char _cOperacion;
    //Referencia al formulario padre
    private frmPremisas _frmPadre;
    //Referencia al objeto de datos principal
    private Premisa _oPremisa;
    //Variable auxiliar
    private TACamposPremisas _oCamposPremisa;
    private String _sTipo;
    private String _sTablaAux;

    public frmPremisasDet(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        getRootPane().setDefaultButton(jButtonAceptar);
    }

    public frmPremisasDet(frmPremisas parent, boolean modal) {
        super(parent, modal);
        this._frmPadre = parent;
        //Inicializo la referencia al objeto de datos del formulario padre.
        this._oPremisa = parent.getoObjetoDatos();
        this._oCamposPremisa =  new TACamposPremisas();
        this._sTipo = "";
        this._sTablaAux = "";
        initComponents();
        getRootPane().setDefaultButton(jButtonAceptar);
    }

    /*
     * Este método captura los datos introducidos por el usuario y los carga en los atributos
     * correspondientes de la clase.
     */
    private void pantallaAClase(){
        if ( (Varios.getClaveItemCombo (jCBRegla)).equals(""))
            this._oPremisa.setiIdRegla( 0 );
        else
            this._oPremisa.setiIdRegla (Integer.parseInt(Varios.getClaveItemCombo(jCBRegla)));
        this._oPremisa.setiIdPremisa( (Integer) this.jFTFIdPremisa.getValue());
        this._oPremisa.setsTipoPremisa( Varios.getClaveItemCombo (jCBTipoPremisa) );
        this._oPremisa.setsTabla( Varios.getClaveItemCombo (jCBTabla) );
        this._oPremisa.setsCampo( Varios.getClaveItemCombo (jCBCampo) );
        this._oPremisa.setsValor( this.jTextFieldValor.getText().trim() );
        this._oPremisa.setsValorMin( this.jTextFieldValorMin.getText().trim() );
        this._oPremisa.setsValorMax( this.jTextFieldValorMax.getText().trim() );
        //Cargo también el tipo de campo que es, para que la clase PRemisa sepa como hacer las validaciones
        this._oPremisa.setsTipoCampo(this._sTipo);
    }

    /*
     * Este método carga los atributos de la clase los controles del formulario de entrada.
     */
    private void claseAPantalla(){
        Varios.seleccionaItemCombo (jCBRegla, Integer.toString(this._oPremisa.getiIdRegla()));
        this.jFTFIdPremisa.setValue ( this._oPremisa.getiIdPremisa());
        Varios.seleccionaItemCombo (jCBTipoPremisa, this._oPremisa.getsTipoPremisa());
        Varios.seleccionaItemComboDescripcion (jCBTabla, this._oPremisa.getsTabla());
        //Carga e inicialización del combo de campos despues de seleccionar en el combo de Tabla
        this.cargarComboCampos(this._oPremisa.getsTabla());
        Varios.seleccionaItemComboDescripcion (jCBCampo, this._oPremisa.getsCampo());
        //Cargo en variables auxiliares los valores del tipo de datos y de la tabla auxiliar
        this.setAtributosAdicionales(this._oPremisa.getsTabla(), this._oPremisa.getsCampo());
        //Cargo el combo de tipos de campo
        Varios.seleccionaItemCombo (jCBTipoCampo, this._sTipo);
        //Carga e inicialización del combo de Selección de valores
        this.cargarComboSeleccionValores (this._sTablaAux);
        Varios.seleccionaItemCombo (jCBValor, this._oPremisa.getsValor());
        this.jTextFieldValor.setText(  this._oPremisa.getsValor() );
        this.jTextFieldValorMin.setText(  this._oPremisa.getsValorMin() );
        this.jTextFieldValorMax.setText(  this._oPremisa.getsValorMax() );
    }

    public void inicializaFormulario ( char cOperacion ){
        //Inicializo el código de operación
        this._cOperacion = cOperacion;
        //CArgo los combos que son "fijos"
        this.cargarCombos();
        //Carga los datos de la clase
        this.claseAPantalla();
        //Inicializa los controles necesarios
        this.inicializaControles();
    }

    /*
     * Este método carga y habilita/inhabilita los controles que sean necesarios 
     */
    private void inicializaControles (){
        //Actualizo el título de la ventana en función de la operación.
        this.setTitle( this._oPremisa.getsDescripTabla() + " - " + Varios.getLiteralOperacion(this._cOperacion) );
        //Desactivar los controles en la baja y en la consulta y activarlos en el alta o la modificación
        if ( this._cOperacion == 'C' || this._cOperacion == 'B')
            Varios.SetEnabledControles( this.jPanel1, false );
        else{
            Varios.SetEnabledControles( this.jPanel1, true );
            //Habilitar o el combo de selección de valores o los campos de texto de valores
            if (this._sTablaAux.equals("")){
                habilitaComboValor (false);
            }else{
                habilitaComboValor (true);
            }
        }
        //El Id de regla nunca es editable (se asigna automáticamente).
        this.jFTFIdPremisa.setEditable( false );
        //El Campo Tipo de DAtos nunca es editable.
        this.jCBTipoCampo.setEnabled( false );
    }

    private void habilitaComboValor(boolean bValor){
        this.jCBValor.setEnabled(bValor);
        this.jTextFieldValor.setEditable( !bValor);
        this.jTextFieldValorMax.setEditable( !bValor);
        this.jTextFieldValorMin.setEditable( !bValor);
    }

    private void cargarCombos(){
        Varios.cargaCombo (jCBRegla, new Regla());
        Varios.cargaCombo (jCBTipoPremisa, new TATiposPremisas());
        //Este tiene que ir antes de la carga de los combos de Tabla y Campo
        Varios.cargaCombo (jCBTipoCampo, new TATiposCamposPremisas());
        Varios.cargaComboCamposPremisas (jCBTabla, new TACamposPremisas (), "");
        //Cargo inicialmente en blanco el combo de campos
        Varios.cargaComboCamposPremisas (jCBCampo, null, "");
        //Cargo inicialmente en blanco el combo de Selección de valor
        Varios.cargaCombo (jCBValor, null);
    }

    private void cargarComboCampos (String sTabla){
        if (sTabla.equals ("") )
            //Inicializo el combo con un elemento vacío
            Varios.cargaComboCamposPremisas (jCBCampo, null, "");
        else
            Varios.cargaComboCamposPremisas (jCBCampo, new TACamposPremisas (), sTabla);
    }

    private void cargarComboSeleccionValores (String sTablaAux){
        if (sTablaAux.equals ("") )
            //Inicializo el combo con un elemento vacío
            Varios.cargaCombo (jCBValor, null);
        else
            Varios.cargaCombo(jCBValor, Varios.creaTablaAuxiliar (sTablaAux));
    }

    private void setAtributosAdicionales (String sTabla, String sCampo){
        //Si en la clase vienen rellenos la tabla y el campo
        if ( !sTabla.equals ("") && !sCampo.equals ("")){
            this._oCamposPremisa.setsTabla(sTabla);
            this._oCamposPremisa.setsCampo(sCampo);
            this._oCamposPremisa.recupera();
            //Y ahora cargo los valores en atributos auxiliares
            this._sTipo = this._oCamposPremisa.getsTipo();
            //Los campos booleanos se cargan de una tabla especial
            if (this._sTipo.equals("B"))
                this._sTablaAux = "ValoresBooleanos";
            else
                this._sTablaAux = this._oCamposPremisa.getsTablaAux();
        }
        else {
            this._sTipo = "";
            this._sTablaAux ="";
        }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jButtonAceptar = new javax.swing.JButton();
        jButtonCancelar = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jCBTabla = new javax.swing.JComboBox();
        jLabel6 = new javax.swing.JLabel();
        jFTFIdPremisa = new javax.swing.JFormattedTextField();
        jCBCampo = new javax.swing.JComboBox();
        jTextFieldValor = new javax.swing.JTextField();
        jLabel7 = new javax.swing.JLabel();
        jCBValor = new javax.swing.JComboBox();
        jCBTipoCampo = new javax.swing.JComboBox();
        jTextFieldValorMin = new javax.swing.JTextField();
        jLabel9 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jCBRegla = new javax.swing.JComboBox();
        jTextFieldValorMax = new javax.swing.JTextField();
        jCBTipoPremisa = new javax.swing.JComboBox();
        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();

        setResizable(false);

        jButtonAceptar.setText("Aceptar");
        jButtonAceptar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAceptarActionPerformed(evt);
            }
        });

        jButtonCancelar.setText("Cancelar");
        jButtonCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonCancelarActionPerformed(evt);
            }
        });

        jLabel4.setText("Tipo de Premisa:");

        jLabel3.setText("Tabla:");

        jLabel5.setText("Campo:");

        jCBTabla.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCBTablaActionPerformed(evt);
            }
        });

        jLabel6.setText("Valor:");

        jFTFIdPremisa.setHorizontalAlignment(javax.swing.JTextField.RIGHT);

        jCBCampo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCBCampoActionPerformed(evt);
            }
        });

        jTextFieldValor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextFieldValorActionPerformed(evt);
            }
        });

        jLabel7.setText("Valor Máximo");

        jCBValor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCBValorActionPerformed(evt);
            }
        });

        jTextFieldValorMin.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextFieldValorMinActionPerformed(evt);
            }
        });

        jLabel9.setText("Tipo de Campo");

        jLabel8.setText("Valor mínimo");

        jTextFieldValorMax.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextFieldValorMaxActionPerformed(evt);
            }
        });

        jLabel2.setText("IdPremisa:");

        jLabel1.setText("Regla:");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(27, 27, 27)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel1)
                                    .addComponent(jLabel2)
                                    .addComponent(jLabel3))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(jCBTabla, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 264, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(jFTFIdPremisa, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(36, 36, 36)
                                        .addComponent(jLabel4)
                                        .addGap(18, 18, 18)
                                        .addComponent(jCBTipoPremisa, javax.swing.GroupLayout.PREFERRED_SIZE, 260, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(jCBRegla, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGap(72, 72, 72)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(jTextFieldValor, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jCBValor, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(38, 38, 38)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldValorMin, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jLabel8))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jTextFieldValorMax, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jLabel7)))
                            .addComponent(jLabel6)))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(42, 42, 42)
                        .addComponent(jLabel5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jCBCampo, javax.swing.GroupLayout.PREFERRED_SIZE, 228, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jLabel9)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jCBTipoCampo, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(50, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(54, 54, 54)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCBRegla, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jFTFIdPremisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4)
                    .addComponent(jCBTipoPremisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCBTabla, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCBCampo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel5)
                    .addComponent(jLabel9)
                    .addComponent(jCBTipoCampo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(41, 41, 41)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(jCBValor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jTextFieldValor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(jLabel7)
                                    .addComponent(jLabel8))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(jTextFieldValorMax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jTextFieldValorMin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(63, 63, 63)
                        .addComponent(jLabel6)))
                .addContainerGap(44, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addGap(214, 214, 214)
                .addComponent(jButtonAceptar)
                .addGap(18, 18, 18)
                .addComponent(jButtonCancelar)
                .addContainerGap(247, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButtonAceptar)
                    .addComponent(jButtonCancelar))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButtonAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAceptarActionPerformed
        boolean bResultadoOK = false;
        this.pantallaAClase ();
        //Inicializo el vector global de errores
        GestorErrores.getInstancia().getvErrores().clear();
        if (this._cOperacion == 'A')    //Alta
            bResultadoOK = this._oPremisa.insert();
        else if (this._cOperacion == 'M')    //Actualizacion
            bResultadoOK = this._oPremisa.update();
        else if (this._cOperacion == 'B'){    //Borrado
            bResultadoOK = this._oPremisa.delete();
        }else if (this._cOperacion == 'C')    //Consulta
            bResultadoOK = true;

        if ( !bResultadoOK ){
            //Si ha habido errores informo de ellos
            String mensaje = "¡Error en la operación!" + "\n";
            for (int i= 0; i< GestorErrores.getInstancia().getvErrores().size(); i++)
                mensaje = mensaje + GestorErrores.getInstancia().getvErrores().get(i) + "\n";
            JOptionPane.showMessageDialog( null, mensaje,"Aviso", JOptionPane.WARNING_MESSAGE);
        }else{
            //Si no ha habido errores doy mensaje de información de la operación
            if (this._cOperacion == 'A')    //Alta
                JOptionPane.showMessageDialog( null, "Alta realizada","Aviso", JOptionPane.INFORMATION_MESSAGE);
            else if (this._cOperacion == 'M')    //Actualizacion
                JOptionPane.showMessageDialog( null, "Modificación realizada","Aviso", JOptionPane.INFORMATION_MESSAGE);
            else if (this._cOperacion == 'B')    //Borrado
                JOptionPane.showMessageDialog( null, "Baja realizada","Aviso", JOptionPane.INFORMATION_MESSAGE);
            //Si la operación es una CONSULTA no doy ningún aviso.
            //Actualizo la vista de los datos en el formulario padre
            this._frmPadre.actualizarVista("");
        }
        //Ocultar la ventana solo si el resultado ha sido OK.
        setVisible ( (bResultadoOK)? false:true );
    }//GEN-LAST:event_jButtonAceptarActionPerformed

    private void jButtonCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelarActionPerformed
        setVisible ( false );
    }//GEN-LAST:event_jButtonCancelarActionPerformed

    private void jTextFieldValorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldValorActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextFieldValorActionPerformed

    private void jTextFieldValorMinActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldValorMinActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextFieldValorMinActionPerformed

    private void jTextFieldValorMaxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldValorMaxActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextFieldValorMaxActionPerformed

    private void jCBTablaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCBTablaActionPerformed
        this.cargarComboCampos (Varios.getClaveItemCombo (jCBTabla));
    }//GEN-LAST:event_jCBTablaActionPerformed

    private void jCBCampoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCBCampoActionPerformed
        //Cargo en atributos auxiliares del formulario los valores del tipo de datos y de la tabla auxiliar
        this.setAtributosAdicionales(Varios.getClaveItemCombo (jCBTabla), Varios.getClaveItemCombo (jCBCampo) );
        //Inicializo el combo de tipos de campo
        Varios.seleccionaItemCombo (jCBTipoCampo, this._sTipo);
        //Carga e inicializacion
        this.cargarComboSeleccionValores ( this._sTablaAux);
        Varios.seleccionaItemCombo (jCBValor, this._oPremisa.getsValor());
        //Habilitar o el combo de selección de valores o los campos de texto de valores
        if (this._sTablaAux.equals("")){
            habilitaComboValor (false);
        }else{
            habilitaComboValor (true);
        }
    }//GEN-LAST:event_jCBCampoActionPerformed

    private void jCBValorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCBValorActionPerformed
        //Pongo en el campo de TExto Valor la clave de lo que se ha elegido.
        this.jTextFieldValor.setText ( Varios.getClaveItemCombo (jCBValor) );
    }//GEN-LAST:event_jCBValorActionPerformed


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonAceptar;
    private javax.swing.JButton jButtonCancelar;
    private javax.swing.JComboBox jCBCampo;
    private javax.swing.JComboBox jCBRegla;
    private javax.swing.JComboBox jCBTabla;
    private javax.swing.JComboBox jCBTipoCampo;
    private javax.swing.JComboBox jCBTipoPremisa;
    private javax.swing.JComboBox jCBValor;
    private javax.swing.JFormattedTextField jFTFIdPremisa;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JTextField jTextFieldValor;
    private javax.swing.JTextField jTextFieldValorMax;
    private javax.swing.JTextField jTextFieldValorMin;
    // End of variables declaration//GEN-END:variables

}
